package com.health.trans.common.util;

import java.io.Serializable;

/**
 * consume 3参数
 *
 * @author nqlz
 * @date 2021/11/04
 */
@FunctionalInterface
public interface VoidFunc3<P,J,K> extends Serializable {

	/**
	 * 调用
	 * 执行函数
	 *
	 * @param parameter 参数
	 * @param j         j
	 * @param k         k
	 * @throws Exception 自定义异常
	 */
	void call(P parameter,J j,K k) throws Exception;

	/**
	 * 与运行时异常的电话
	 * 执行函数，异常包装为RuntimeException
	 *
	 * @param parameter 参数
	 * @param j         j
	 * @param k         k
	 * @since 5.3.6
	 */
	default void callWithRuntimeException(P parameter,J j,K k){
		try {
			call(parameter,j,k);
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
}
